class A{
    public void printA(){
        System.out.println("A");
    }
}
class B extends A{
    public void printB(){
        System.out.println("B");
    }
}
final class C extends B{
    public void printC(){
        System.out.println("C");
    }
}

/*class D extends C{//报错 无法继承C

}*/

public class Test {
    //java中不建议有超过3层的继承关系
    //那我们应该如何控制呢? final
    //被final修饰的类我们称为 密封类 表示该类不能再被继承

    //java中还有一种提高代码复用性的方法 组合
    //继承相当于 is a(什么是什么)
    //class Dog extends Animal 狗是动物
    //组合相当于 a part of(是什么的一部分)
    //Student 和 Teacher 是 School 的一部分

}
class Student{

}
class Teacher{

}
class School{
    //学生和老师是学校的一部分
    //学校由学生和老师组成
    Student[] students;
    Teacher[] teachers;
}
